万卷网> 蓝桥竞赛 >蓝桥Python > 2025年8月蓝桥杯蓝桥Python(省赛)初/中级

2025年8月蓝桥杯蓝桥Python(省赛)初/中级
省赛 2025 2026-02-05 10:21:45 78

一、单选题

1.

下列选项中,( )可以作为 Python 中的合法变量名?

A.

length

B.

C.

D.

#

2.

运行下面Python程序,输出的结果是?( )

ans = 0
for i in range(6):
    for j in range(i):
        ans += j
print(ans)
A.

20

B.

30

C.

50

D.

55

3.

以下关于Python 3的描述,【错误】的是?( )

A.

使用lambda创建的匿名函数能用作实参进行传递

B.

元组是不可变类型,包含列表元素的元组可以用作字典的键

C.

sorted()函数进行排序时,在不改动原序列的基础上,返回一个新的序列

D.

执行and运算时,从左至右求值,一旦可以确定结果,求值就会停止

4.

运行下面Python程序,输出的结果是?( )

a = {2, 3, 1, 4}
b = {1, 2, 3, 4}
print(a <= b)
A.

True

B.

False

C.

1

D.

0

5.

运行下面Python程序,输出的结果是?( )

a, b, c = 1, 2, 3
print(a + b + c)
A.

1

B.

2

C.

3

D.

6

二、编程题

1.

昆虫变换问题

问题描述:有 n 只昆虫排成一排,每只昆虫为萤火虫(用 0 表示)或蜜蜂(用 1 表示)。

魔术师每次操作可以将一只萤火虫变为蜜蜂,或将一只蜜蜂变为萤火虫。目标是让所有相邻昆虫的种类都不相同,求最少需要的操作次数。

例如:n = 6;从左至右6只昆虫如下:

将第三只昆虫变为萤火虫,第四只昆虫变为蜜蜂,可以使得所有相邻的昆虫都不相同:

魔术师最少需要变2次。

输入格式

第一行:一个整数 n(2 ≤ n ≤ 1000),表示昆虫数量。

第二行:n 个整数(0 或 1),表示初始排列,数字间用空格隔开。

输出格式

一个整数,表示最少需要的操作次数。

样例输入:

6
0 1 1 0 0 1

样例输出:

2
2.

珠子号码问题

问题描述:给定一个由重复序列组成的珠子串,每组珠子的号码依次为:1、2、3、4、5、6、7、8、9、10、11、10、9、8、7、6、5、4、3、2、1。

共 21 颗珠子为一组,总共有 50 组这样的珠子串在一起。

输入格式

一个整数 n (1 ≤n ≤1050)。

输出格式

一个整数,表示第 n 颗珠子对应的号码。

样例输入:

12

样例输出:

10
3.

鸡蛋包装问题

问题描述:农场包装鸡蛋,每盒鸡蛋标准装 30 个。现在有一盒正在包装的鸡蛋,已装入 n 个(1 ≤ n ≤30)。

请计算要装满这一盒,还需要再装入多少个鸡蛋?

输入格式

一个整数 n(1 ≤ n ≤30),表示这盒鸡蛋已装的个数。

输出格式

一个整数,表示还需要装入的鸡蛋个数。

样例输入:

21

样例输出:

9
4.

拼图拼接问题

题目描述:小利准备将 n 块拼图从左到右进行拼接,每块拼图原本为大小一致的正方形卡片,每条边都做了改变,共有 8 种不同的边,使用编号 1 - 8 表示。每块拼图使用其 上、右、下、左 四条边的编号来表示。

例如,下面两块拼图共有 8 种不同的边,左边的拼图用 1234 表示,右边的拼图用 5678 表示:

拼图规则:

(1)在拼图中:

1 号边只能与 8 号边拼接;

2 号边只能与 7 号边拼接;

3 号边只能与 6 号边拼接;

4 号边只能与 5 号边拼接。

(2)你可以将每块拼图顺时针旋转 0 度、90 度、180 度、270 度来进行拼图(不能翻转到另一面进行拼图)。

例如,同一块拼图旋转不同度数时的效果如下图所示:

旋转 0 度:上边为 1,右边为 2,下边为 3,左边为 4;

旋转 90 度:上边为 4,右边为 1,下边为 2,左边为 3;

旋转 180 度:上边为 3,右边为 4,下边为 1,左边为 2;

旋转 270 度:上边为 2,右边为 3,下边为 4,左边为 1。

(3)除第一块拼图外,下一块拼图只能拼在已拼接拼图的最右边。

注:在各种拼法中,只要有任意一个相同位置上的拼图不一致,或拼图相同但旋转的方向不一致,都算不同的拼法。

本题中,n 块拼图是不同的,不存在以下两种情况:

(1)同一块拼图,旋转 90 度、180 度、270 度后,不会出现与 0 度相同的情况;

(2)任意两块拼图,不会出现其中一块拼图旋转后与另一块相同。

例如:n = 3;3 块拼图分别是 4524、6134、3872,如下图所示:

共有 4 种不同的拼法,如下图所示:

输入描述:

第一行输入一个整数 n(2 ≤ n ≤ 8),表示拼图的块数;

第二行输入 n 个长度为 4 的字符串,字符串仅包含数字 1 - 8,字符串之间以一个空格隔开,每个字符串从左至右的 4 个数字依次表示该块拼图 上、右、下、左 四条边的编号。

输出描述

输出一个整数,表示多少种不同的拼法。

输入样例

3
4524 6134 3872

输出样例

4
5.

砖块消除问题

有一个砖块消消乐游戏,游戏画面由 n 列砖组成,每列都有若干块砖,每块砖都是 1×1 的正方形且砖块之间排列整齐(每块砖的厚度及砖块之间的缝隙忽略不计)。

玩家每次可以按照以下要求,选定一个矩形区域,将该矩形区域的所有砖块消除:

(1)该矩形区域内每块砖都是完整的,即不能选定某块砖的一部分。例如:可以选择下方左图中的矩形区域(绿色框),不可以选定下方右图中的矩形区域(红色框)。

(2)该矩形区域内不能有空白部分。例如:不可以选定下图中的矩形区域(红色框)。

给定砖的列数 n,以及从左至右每列砖的砖块数量,请计算消除完所有砖块最少需要选定多少次矩形区域。

例如:n = 3;从左至右列砖的砖块数量分别是 2、3、2,将所有砖块全部消除最少需要选定 2 次。

第 1 次,选定绿色框的矩形区域,将 6 块砖消除,剩余 1 块砖;

第 2 次,选定剩余的 1 块砖并消除。

输入描述

第一行输入一个整数 n(1 ≤ n ≤ 1e5),表示有多少列砖;

第二行输入 n 个整数(1 ≤ 整数 ≤ 100),分别表示从左至右每列砖的砖块数量,整数之间以一个空格隔开。

输出描述

输出一个整数,表示消除完所有砖块最少需要选定多少次矩形区域。

样例输入:

3
2 3 2

样例输出:

2
6.

单词记录问题

问题描述:小刘正在使用电脑记录单词,他的记录方式是:对于每个给定的单词,只记录该单词的 第一个字母 和单词的 字母数量。

现在给定一个单词,按照小刘的记录方式,输出单词的记录结果。

输入格式

一个只包含 小写英文字母 的字符串(2 ≤ 字符串长度 ≤ 20),表示给定的单词。

输出格式

第一行输出一个字母,表示单词的第一个字母。

第二行输出一个整数,表示单词的字母数量。

样例输入:

succeed

样例输出:

s
7
公众号
客服 反馈
顶部